With the development of communication technology, communication systems based on a variety of standards are being created, and respective communication technologies are using different sampling frequencies according to the usable frequency band and the modulation scheme. Digital signal processing which is performed between heterogeneous systems having different sampling frequencies can be easily implemented by conversion between sampling frequencies. In general, conversion between sampling frequencies is performed using a D/A (digital to analog) converter and then an A/D (analog to digital) converter, in which case the quality of a target signal is deteriorated by the introduction of an analog circuit and the influence of noise.
In light of these problems, a method of converting a sampling frequency in a digital domain was proposed. FIG. 1 is a diagram illustrating a conventional method of converting a sampling frequency in a digital domain. As shown in FIG. 1, according to the conventional method of converting a sampling frequency in a digital domain, for example, when the conversion of a sampling frequency of 122.88 MHz into a sampling frequency of 20 MHz is desired, an output sampling frequency of 20 MHz is obtained by performing multiplication and division on an input sampling frequency (in the example of FIG. 1, a total of 12 frequency multiplication and division calculations) using a prime number until a target output sampling frequency is reached. Therefore, the number of clock frequencies used in a system increases accordingly, so that a problem arises in that a circuit is complicated.
FIG. 2 is a block diagram showing a conventional interpolator for estimating a sample value at a specific time between two samples using a digital filter, and FIG. 3 is a block diagram showing the digital filter of FIG. 2. FIG. 3 shows an interpolator using an 8-tap, 3rd-order digital filter as an example. As shown in FIG. 3, the conventional interpolator chiefly uses a Finite Impulse Response (FIR) filter as the digital filter. Such a conventional FIR filter includes a multi-tap delay line which sequentially outputs an input sample to a subsequent tap every input clock cycle. The output sample of each tap is multiplied by a predetermined filter coefficient, resulting values are added to each other, and the sum is output as a filter output value.
Meanwhile, since the order of the interpolator shown in FIG. 3 is 3, the total number of stages of individual filters is 4. Operations are performed on the filter output value of each stage and a predetermined delay parameter using a combiner including the combination of a multiplier and an adder, and finally an interpolated sample value at a desired time between two samples can be obtained.
The following Equation 1 is used to obtain the filter output value of each stage and an interpolated sample value.
                              y          m                =                                            ∑              n                        ⁢                                          x                n                            ⁢                              c                                  n                  ,                  m                                            ⁢                                                          ⁢                              z                ⁡                                  (                  α                  )                                                              =                                    ∑              m                        ⁢                                          α                m                            ⁢                              y                m                                                                        (        1        )            
In the above Equation 1, m is the order of filters, that is, the number of stages, and n is the number of taps of each filter. xn is an input sample, ym is the filter output value of each stage, and cn is a filter coefficient. α is a delay parameter, and z(α) is an interpolated sample value.
The following Table 1 is an example of a filter coefficient table.
TABLE 1c(n, m)m01230−0.0138240.0031430.055298−0.01257310.054062−0.019287−0.2162480.0771482−0.1579590.1008000.631836−0.40319830.516394−1.226364−0.4655760.90545740.5163941.226364−0.465576−0.9054575−0.157959−0.1008000.6318360.40319860.0540620.019287−0.216248−0.0771487−0.013824−0.0031430.0552980.012573
In the above Table 1, the column indicates filter stage numbers, and the row indicates the tap numbers of the filters. The values may be appropriately adjusted.
However, the above-described conventional interpolator-related technology proposes merely the principle based on which an interpolated sample value at a specific time between two samples is obtained in a software manner, but does not disclose a technology that is used to implement a re-sampling apparatus for converting a sample, input at an input sampling frequency in real time, into a sample having a different sampling frequency, that is, up sampling or down sampling, and then outputting the sample.